As cloud computing and portable computing devices have grown in popularity and capability, there has been a proliferation of applications storing data on network servers, with users accessing the data via multiple different versions of applications that may use and expect different formats for the data. Users expect their existing applications to continue to work, while being able to upgrade the applications to add new features, which may involve changing the structure of the data that is stored.
Applications that store data can use schemas to define the structure of the data. When an application is upgraded to a new version, the schema may change to accommodate application features. To allow the upgraded application to continue to use existing data created with the previous version, existing data that conforms to one schema can be migrated to an updated version of the schema. In cloud computing, a user may have several devices, such as a desktop computer and a mobile device, that are used to access data stored on a server. The cloud computing environment provides for sharing data among multiple devices, so that separate copies of the data need not be maintained on each device. An application such as a word processor can run on each device, and changes to data stored in the cloud made on one device appear automatically on the other devices, so users need not be concerned with copying and merging changes to data made on different devices.